In digital data transmission systems, composite clock and data signals in binary form are transmitted over media such as wires or fiber optic cables from a transmission line transmitter to a transmission line receiver. The transmitter and the receiver in a data transmission system may each be a single computer or may each comprise a local area network (LAN) of computers.
An individual computer or station in a LAN may both send information to other stations in the LAN or receive information from other stations. The station attaches to the LAN when it desires to communicate with another station in the LAN, and detaches from the LAN when the communications are complete. If information received by a station is destined for a station further along the network, the receiving station must pass the information along the LAN to the next adjacent station, and so forth, until the information reaches its final destination.
The signal received by a particular station in the LAN is represented by pulses in a data stream defined by positive-going and negative-going transitions. The transmitting station in the LAN outputs the data signal at a predetermined frequency. The binary data waveform, however, is degraded with respect to its phase and frequency as it propagates along the LAN transmission media due to electrical noise and dispersion. This degradation of bits in the binary waveform could result in incorrect interpretations by the receiving station of bits sent by the transmitter station across the LAN transmission media.
To prevent incorrect interpretation of data bits sent across stations in the LAN, the receiving station must reconstruct the received signal, regardless of electrical noise and transmission media degradations. Such reconstruction can be achieved by sampling the received signal at a regular rate equal to the transmitted bit rate, and at each sample instant making a decision of the most probable symbol being transmitted. Typically, a threshold level is chosen to which the received signal is compared. Transitions above and below this level are deemed to be binary ones or zeros, depending on the type of encoding of the signal.
In addition to reconstructing received data signals prior to retransmission to adjacent stations in the LAN, any new information which the station outputs to the LAN must be transmitted at the same frequency as that at which the LAN is operating. Because LANs are capable of operating at different speeds, individual computers or stations in the LAN must be matched to the speed at which the LAN will be operating. Typically, the individual stations are programmed to the speed at which the LAN is to be operated. If the speed of the LAN is to change, the LAN must be taken down, and all the stations must be reprogrammed to the new speed at which the LAN will be operating. If a particular station is programmed to a speed of operation which is different than the speed at which the LAN is operating, any attempt by the station to attach to the LAN will result in bringing the LAN down.
Accordingly, it is believed that there is a need for providing a clock extraction and data regeneration mechanism for use in multiple rate digital data communications systems which determines the rate at which data is being transmitted in a multiple rate data communications system, and which regenerates received data free of distortion. It is an object of the present invention, therefore, to provide a high-speed, low-power digital mechanism for (i) detecting the data transmission rate at which a data communications system such as a LAN is operating, (ii) adjusting the data transmission rate of a station in the LAN to the detected rate before the particular station sends any data over the LAN, and (iii) reconstructing data signals received from previous stations in the LAN prior to retransmitting the signal to the following station, based on differences detected between the received signal and the locally generated clock signal.